package com.ffox.controller;

import com.ffox.entity.SchoolApproval;
import com.ffox.entity.SchoolInformation;
import com.ffox.result.Result;
import com.ffox.service.PlatformSchoolService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

/**
 * 平台学校管理控制器
 * 处理学校审批和学校信息相关的请求
 */
@RestController
@RequestMapping("/platformSchool")
public class PlatformSchoolController {
    @Autowired
    private PlatformSchoolService platformSchoolService;

    /**
     * 获取所有学校审批信息
     * @return 返回包含所有学校审批信息的结果对象
     */
    @PostMapping("/getAllSchoolApproval")
    public Result<List<SchoolApproval>> getAllSchoolApproval(){
        return platformSchoolService.getAllSchoolApproval();
    }

    /**
     * 更新学校审批状态
     * @param id 学校审批记录的唯一标识符
     * @param status 新的审批状态值
     * @return 返回更新操作影响的记录数结果对象
     */
    @PostMapping("/updateSchoolApproval")
    public Result<Integer> updateSchoolApproval(@RequestParam Long id,@RequestParam Integer status){
        return platformSchoolService.updateSchoolApproval(id,status);
    }

    /**
     * 获取所有学校信息
     * @return 返回包含所有学校信息的结果对象
     */
    @PostMapping("/getAllSchoolInformation")
    public Result<List<SchoolInformation>> getAllSchoolInformation(){
        System.out.println("调用了getAllSchoolInformation");
        return platformSchoolService.getAllSchoolInformation();
    }

    /**
     * 更新学校信息
     * @param id 学校信息记录的唯一标识符
     * @param params 包含更新字段和值的参数映射
     * @return 返回更新操作影响的记录数结果对象
     */
    @PostMapping("/updateSchoolInformation")
    public Result<Integer> updateSchoolInformation(@RequestParam Long id,@RequestBody Map<String, Object> params){
        return platformSchoolService.updateSchoolInformation(id,params);
    }

    /**
     * 更新学校状态
     * @param id 学校记录的唯一标识符
     * @param status 新的学校状态值
     * @return 返回更新操作影响的记录数结果对象
     */
    @PostMapping("/updateSchoolStatus")
    public Result<Integer> updateSchoolStatus(@RequestParam Long id,@RequestParam Integer status){
        return platformSchoolService.updateSchoolStatus(id,status);
    }


}

